const fs = require('fs');

// 输入 JSON 文件路径
const jsonFilePath = './main/src/main/resources/base/profile/main_pages.json';
// 输出 TypeScript 文件路径
const tsFilePath = './main/src/main/ets/route/RoutePath.ets';

// 读取并解析 JSON 文件
const rawData = fs.readFileSync(jsonFilePath, 'utf-8');
const jsonContent = JSON.parse(rawData);
const paths = jsonContent.src;

// 创建 TypeScript 文件，并写入初始的注释和类定义
const initialContent = `/**
 * 路由表管理,自动生成
 */
export class RoutePath {
`;

fs.writeFileSync(tsFilePath, initialContent, 'utf-8');

// 遍历路径数组，并为每个路径生成相应的静态只读属性
paths.forEach(path => {
    // 提取类属性名称
    const propertyName = path.match(/[^\/]+$/)[0];
    const formattedPropertyName = propertyName.charAt(0).toUpperCase() + propertyName.slice(1);

    // 写入到 TypeScript 文件中
    const propertyLine = `  static readonly ${formattedPropertyName} = "${path}";\n`;
    fs.appendFileSync(tsFilePath, propertyLine, 'utf-8');
});

// 在 TypeScript 文件末尾添加关闭的花括号
const closingBracket = `}\n`;
fs.appendFileSync(tsFilePath, closingBracket, 'utf-8');

console.log(`TypeScript 文件已生成: ${tsFilePath}`);
